package com.eascs.web.o2o.web.aging.entity;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;
import java.util.Date;

/**
 * 流程节点
 */
@Entity
@Table(name = "ods_o2oworkflow_node_template")
public class ProcessNodeTemplate implements Serializable {
	private static final long serialVersionUID = 1L;

	/** 1开始流程，2-直到流程，3-或型流程，4且型流程，9-完结流程 */
	public static final String NODE_TYPE_INIT = "INIT";
	public static final String NODE_TYPE_DIRECT = "DIRECT";
	public static final String NODE_TYPE_OR = "OR";
	public static final String NODE_TYPE_AND = "AND";
	public static final String NODE_TYPE_END = "END";

	/**审核人类型(1.固定审核人,2.角色审核)*/
	public static final int AUDITOR_TYPE_FIXED = 1;
	public static final int AUDITOR_TYPE_ROLE = 2;

	/**流程节点号*/
	@Column(name = "node_id")
	@Id
	private String nodeId;

	/**所属流程号*/
	@Column(name = "process_no")
	private String processNo;

	/**节点名称*/
	@Column(name = "node_name")
	private String nodeName;
	
	/**节点编码*/
	@Column(name = "node_code")
	private String nodeCode;

	/**节点描述*/
	@Column(name = "node_desc")
	private String nodeDesc;

	/**状态描述*/
	@Column(name = "state_desc")
	private String stateDesc;

	/**序号*/
	@Column(name = "order_no")
	private Integer orderNo;

	/**是否加签*/
	@Column(name = "is_sign")
	private Integer isSign;

	/**是否转交*/
	@Column(name = "is_change")
	private Integer isChange;

	/**允许否决到结束*/
	@Column(name = "is_reject")
	private Integer isReject;
	
	/**允许驳回到开始节点*/
	@Column(name = "is_turned_down")
	private Integer isTurnedDown;

	/**是否允许退回   上一步*/
	@Column(name = "is_back")
	private Integer isBack;

	@Column(name = "is_pass")
	private Integer isPass;

	@Column(name = "node_type")
	private String nodeType;

	@Column(name = "is_system_start")
	private Integer isSystemStart;

	@Column(name = "auditor_type")
	private Integer auditorType;

	@Column(name = "role_no")
	private String roleNo;

	@Column(name = "role_name")
	private String roleName;

	/**创建人*/
	private String creator;

	/**创建时间*/
	@Column(name = "creat_time")
	private Date creatTime;

	/**修改人*/
	private String updator;

	/**修改时间*/
	@Column(name = "update_time")
	private Date updateTime;
	
	/**节点动态表单URL*/
	@Column(name="refer_url")
	private String referUrl;
	
	/**节点动态表单ID*/
	@Column(name="form_id")
	private String formId;
	
	/**意见模板*/
	@Column(name="notes_template")
	private String notesTemplate;
	
	/**节点时效*/
	@Column(name = "time_effective")
	private Integer timeEffective;
	
	//是否发送邮件
	@Column(name = "is_send_email")
	private Integer isSendEmail;
	//是否发送短信
	@Column(name = "is_send_sms")
	private Integer isSendSms;
	//是否微信通知
	@Column(name = "is_send_wechat")
	private Integer isSendWechat;
	//是否自动审核
	@Column(name = "is_auto_audit")
	private Integer isAutoAudit;
	//加签类型
	@Column(name = "sign_type")
	private String signType;

	public String getRoleName() {
		return roleName;
	}

	public void setRoleName(String roleName) {
		this.roleName = roleName;
	}

	public String getRoleNo() {
		return roleNo;
	}

	public void setRoleNo(String roleNo) {
		this.roleNo = roleNo;
	}

	public String getNodeId() {
		return nodeId;
	}

	public void setNodeId(String nodeId) {
		this.nodeId = nodeId;
	}

	public String getProcessNo() {
		return processNo;
	}

	public void setProcessNo(String processNo) {
		this.processNo = processNo;
	}

	public String getNodeName() {
		return nodeName;
	}

	public void setNodeName(String nodeName) {
		this.nodeName = nodeName;
	}

	public String getNodeDesc() {
		return nodeDesc;
	}

	public void setNodeDesc(String nodeDesc) {
		this.nodeDesc = nodeDesc;
	}

	public String getStateDesc() {
		return stateDesc;
	}

	public void setStateDesc(String stateDesc) {
		this.stateDesc = stateDesc;
	}

	public Integer getOrderNo() {
		return orderNo;
	}

	public void setOrderNo(Integer orderNo) {
		this.orderNo = orderNo;
	}

	public Integer getIsSign() {
		return isSign;
	}

	public void setIsSign(Integer isSign) {
		this.isSign = isSign;
	}

	public Integer getIsChange() {
		return isChange;
	}

	public void setIsChange(Integer isChange) {
		this.isChange = isChange;
	}

	public Integer getIsReject() {
		return isReject;
	}

	public void setIsReject(Integer isReject) {
		this.isReject = isReject;
	}

	public Integer getIsBack() {
		return isBack;
	}

	public void setIsBack(Integer isBack) {
		this.isBack = isBack;
	}

	public Integer getIsPass() {
		return isPass;
	}

	public void setIsPass(Integer isPass) {
		this.isPass = isPass;
	}

	public Date getUpdateTime() {
		return updateTime;
	}

	public void setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
	}

	public Integer getAuditorType() {
		return auditorType;
	}

	public void setAuditorType(Integer auditorType) {
		this.auditorType = auditorType;
	}

	public String getNodeType() {
		return nodeType;
	}

	public void setNodeType(String nodeType) {
		this.nodeType = nodeType;
	}

	public Integer getIsSystemStart() {
		return isSystemStart;
	}

	public void setIsSystemStart(Integer isSystemStart) {
		this.isSystemStart = isSystemStart;
	}

	public String getCreator() {
		return creator;
	}

	public void setCreator(String creator) {
		this.creator = creator;
	}

	public Date getCreatTime() {
		return creatTime;
	}

	public void setCreatTime(Date creatTime) {
		this.creatTime = creatTime;
	}

	public String getUpdator() {
		return updator;
	}

	public void setUpdator(String updator) {
		this.updator = updator;
	}

	public String getReferUrl() {
		return referUrl;
	}

	public void setReferUrl(String referUrl) {
		this.referUrl = referUrl;
	}

	public String getFormId() {
		return formId;
	}

	public void setFormId(String formId) {
		this.formId = formId;
	}

	public String getNotesTemplate() {
		return notesTemplate;
	}

	public void setNotesTemplate(String notesTemplate) {
		this.notesTemplate = notesTemplate;
	}
	

	public Integer getIsTurnedDown() {
		return isTurnedDown;
	}

	public void setIsTurnedDown(Integer isTurnedDown) {
		this.isTurnedDown = isTurnedDown;
	}

	public String getNodeCode() {
		return nodeCode;
	}

	public void setNodeCode(String nodeCode) {
		this.nodeCode = nodeCode;
	}

	public Integer getTimeEffective() {
		return timeEffective;
	}

	public void setTimeEffective(Integer timeEffective) {
		this.timeEffective = timeEffective;
	}

	public Integer getIsSendEmail() {
		return isSendEmail;
	}

	public void setIsSendEmail(Integer isSendEmail) {
		this.isSendEmail = isSendEmail;
	}

	public Integer getIsSendSms() {
		return isSendSms;
	}

	public void setIsSendSms(Integer isSendSms) {
		this.isSendSms = isSendSms;
	}

	public Integer getIsSendWechat() {
		return isSendWechat;
	}

	public void setIsSendWechat(Integer isSendWechat) {
		this.isSendWechat = isSendWechat;
	}

	public Integer getIsAutoAudit() {
		return isAutoAudit;
	}

	public void setIsAutoAudit(Integer isAutoAudit) {
		this.isAutoAudit = isAutoAudit;
	}

	public String getSignType() {
		return signType;
	}

	public void setSignType(String signType) {
		this.signType = signType;
	}
}
